Event processing is a difficult problem in distributed computing. An event is a notification of an occurrence in one part of a system to another part of the system. Events may be generated by several parts of a system, such as a client, and handled by several other components, such as servers in a data center.
To facilitate increased utilization of data center resources, virtualization technologies may allow a single physical computing device to host one or more instances of virtual machines that appear and operate as independent computing devices to clients of the data center. With virtualization, the single physical computing device can create, maintain, delete, or otherwise manage virtual machines in a dynamic manner. Clients can request computer resources from the data center and be provided with virtual machine resources to perform requested events.